Computer systems and other types of consumer electronic devices are commonly linked to each other and to peripheral devices using a myriad of different types of cables and connectors. As these devices grow in number and variety, their cables and connectors can often become quite cumbersome to work with. Accordingly, efforts are underway to develop technologies allowing hardware connections to be replaced with wireless ones.
One such technology is the Bluetooth wireless communication technology. Bluetooth is the code name for a technology specification for short-range radio links that will allow the many proprietary cables that connect devices to one another to be replaced with short-range radio links.
The Bluetooth technology is based on a high-performance, yet low-cost, integrated radio transceiver. For instance, Bluetooth transceivers built into both a cellular telephone and a laptop computer system would replace the cables used today to connect a laptop to a cellular telephone. Printers, personal digital assistants (palmtop computer systems, hand-held devices and the like), desktop computer systems, fax machines, keyboards, joysticks and virtually any other digital device can be part of a Bluetooth system. Bluetooth radio technology can also provide a universal bridge to existing data networks and a mechanism to form small private ad hoc groupings (“scatternets” or “piconets”) of connected devices away from fixed network infrastructures.
The Bluetooth technology allows Bluetooth devices to “discover” other Bluetooth devices that are within range and then connect with those devices, either automatically or at a user's discretion. The Generic Access Profile (GAP) of the Bluetooth specification (Section 6 of “Specification of the Bluetooth System, Core,” version 1.0B, dated Dec. 1, 1999, herein incorporated by reference as background) describes the processes by which Bluetooth devices discover each other. The device discovery process has two primary steps: an inquiry step (described in Sections 6.1 and 6.2 of the Bluetooth specification), and a name discovery step (described in Section 6.3 of the Bluetooth specification). In the inquiry step, the Bluetooth devices make their presence known to each other and exchange attributes (e.g., addresses) needed to further the connection process. In the name discovery step, user-friendly names are exchanged to help a user identify Bluetooth devices that are in the environment. The inquiry and discovery steps are described in further detail below.
Prior Art FIG. 1 is a data flow diagram 10 illustrating the device discovery process used by one Bluetooth device (initiator device 20) to discover another Bluetooth device (e.g., responder device 30). First, initiator device 20 sends (broadcasts) a general inquiry message (e.g., inquiry 40) over the nominal range of a typical Bluetooth device (e.g., approximately 10 meters). When initiator device 20 broadcasts an inquiry 40, it typically remains in the inquiry state for 10.24 seconds (this time is programmable, but the Bluetooth specification recommends 10.24 seconds).
In order to receive and respond to inquiry 40, responder devices 30 and 32 must be “discoverable” (e.g., the devices must be scanning for inquiry messages). According to the Bluetooth specification referenced above, a discoverable device enters into “inquiry scan” (scanning for inquiry messages) every 2.56 seconds and remains in inquiry scan for 10.625 milliseconds.
Responder devices 30 and 32 send inquiry responses 42a and 42b, respectively, to initiator device 20 in response to inquiry 40. Inquiry responses 42a and 42b provide the Bluetooth device addresses (a numerical address or a device access code) for responder devices 30 and 32, and optionally provide additional information such as the clock, class of device and page scan mode. Inquiry responses 42a and 42b do not provide a name (or user-friendly name) for responder devices 30 and 32. The user-friendly name can be up to 248 characters long and is not provided in order to reduce the length of the inquiry responses.
Initiator device 20 can therefore receive an inquiry response from multiple Bluetooth devices (e.g., responder devices 30 and 32), providing each device's numerical address at least. Generally, a user will not be able to identify one type of responder device over another based only on the device's numerical address. For example, there may be two printers in proximity, and the user generally will not be able to tell which printer to connect with based on the numerical address. However, “user-friendly names” can be used to identify each printer's location and features, allowing the user to make a selection of one over the other. Therefore, initiator device 20 needs to discover and display the user-friendly name for each of the devices that responded, so that the user can select the appropriate device with which to connect.
To accomplish this, initiator device 20 must connect one device at a time to each of the responder devices 30 and 32 in order to request a user-friendly name. Accordingly, initiator device 20 sends pages 44a and 44b to each device that responded to inquiry 40. In response to the pages 44a and 44b, responder devices 30 and 32 send page responses 46a and 46b, respectively. Page responses 46a and 46b provide the user-friendly name for responder devices 30 and 32, respectively.
Next, initiator device 20 will send name requests 48a and 48b to responder devices 30 and 32, respectively. In response to name request 48a, responder device 30 sends name request response 50a to initiator device 20. Similarly, in response to name request 48b, responder device 32 sends name request response 50b to initiator device 20. Name request responses 50a and 50b provide the user-friendly names for responding devices 30 and 32, respectively. The user-friendly names are displayed to the user, who can then select one or more of the responder devices with which to connect.
There are a number of disadvantages associated with the Bluetooth device discovery process described above. One disadvantage is that, in the name discovery step of the device discovery process, each device provides its user-friendly name for display to the user. As the number of Bluetooth devices continues to grow, the length of the list of user-friendly names will grow as well, which can complicate the user experience. A user who has changed locations within a building and who wishes to connect a wireless electronic device, such as a portable computer or a personal digital assistant, with a network needs to locate a convenient access point in a new location. In order to do so, the device goes through the discovery process in order to locate a Bluetooth access point through which to connect to the network. The more devices that are available, the longer the discovery process takes. Without the name discovery, a user would not be able to easily interpret the addresses returned at the end of the name retrieval phase and select an appropriate access point device for connecting to the network.
The Bluetooth Specification contains no method for specifying that different LAN Access Points (LAPs) are part of the same network. As such, as a user moves about in an environment with multiple access points (such as an enterprise environment), the user must spend time specifying which access point he or she wants to use, based upon their location. When the user encounters a new access point, even more time may have to be spent configuring the device to use the access point. Such a problem is annoying and it requires the user to have a fair amount of knowledge about the environment (i.e., which access points are where), or to constantly go through the lengthy discovery process in each new location, neither of which are very user-friendly or expedient.
Yet another problem with the Bluetooth device discovery process is that some access points, depending on their location, get a higher volume of usage than others do. Connecting to an access point with a high occupancy rate may slow communication speed between the user device and the network.
Thus, the Bluetooth device discovery process presents a number of problems. Finding a solution to these problems is made more complex because the solution must be substantially compliant with the Bluetooth specification. That is, many Bluetooth devices are being designed and manufactured according to the Bluetooth specification. Consequently, a solution that relies on a significant deviation from the Bluetooth specification will create new problems, such as incompatibility between newer Bluetooth devices and legacy Bluetooth devices. An aim of the Bluetooth specification is to provide a level of standardization across all Bluetooth devices, and a substantial deviation from the specification would be contrary to that aim. Accordingly, any solution to the prior art problems described above should be satisfactorily consistent with the Bluetooth specification, or it should be a solution that can be incorporated into legacy Bluetooth devices.